With the rapid development of computer technology, there are several kinds of software applications. In order to satisfy execution expectations of a user for various applications, improving the execution speed, or running speed of an application may be further researched.
Typically, a pre-read mechanism and a prefetch mechanism may be used to improve the running speed of the application. In the pre-read mechanism, when a local data file is being read, contents of the file that would be required in the future may also be read into memory besides the contents currently being used. Thus, the future content may be read directly from the memory when being used, thereby reducing time spent by the application on the Input/Output (I/O). In the prefetch mechanism, main content of common applications may be read at boot time itself i.e. when an operating system is loaded. This may prevent time from being spent on reading data for the main content when the applications are started.
The pre-read mechanism may only be suitable for a scenario where the local data is accessed sequentially when the application is loaded. But for a scenario where the local data is accessed randomly during execution of the application, the pre-read mechanism may not provide significant advantages. The prefetch mechanism, though, may optimize the running speed for all applications. Thus, the prefetch mechanism may have universality, i.e. it may optimize execution of an application regardless of whether the application uses sequential or random access during I/O operations. But, the prefetch mechanism may be limited by a lack of pertinence, and may have to operate using limited optimization space to improve the running speed of the application.